package ch3;

/**
 * 基于volatile实现的简易读写锁
 * volatile + synchronized（内部锁）
 * 内部锁：保障共享变量写操作的原子性
 * volatile变量：保障共享变量的可见性
 */

public class Counter {
    private volatile long count;
    public long value() {
        return count;
    }

    public void incrment() {
        synchronized (this) {
            count++;
        }
    }
}
